package isoengine.config {

	import isoengine.config.Settings;

	public class RenderConfig {

		private static var _instance:RenderConfig = null;

		public static var frameInterval:int = 100;

		public static var tileWidth:int = 70;
		public static var tileHeight:int = 40;
		public static var screenTileWidth:int = 35;
		public static var screenTileHeight:int = 36;

		public static var initDepth:int = 10000;
		public static var objectCount:int = 0;
		public static var gridCount:int = 0;

		// total items allowed per row for proper depth hanlding (including stacked items)
		// actual displayable items per row is the amount allowed per stack
		// stacks need to add up to less than the total depthSlots
		public static var depthSlots:int = 1000;
		// depth slots for stackable items
		public static var terrainStack:int = 0;
		public static var solidStack:int = 100;
		public static var stackableStack:int = 200;
		//  tbd...
		public static var zSlots:int = 10;

		public static var gridBaseDepth:int = 20000;

		public static var screenWidth:int = tileWidth * screenTileWidth;
		public static var screenHeight:int = tileHeight * screenTileHeight;
		public static var panMargin:int = 100;
		public static var panAmount:int = 300;

		public static var panGridMargin:int = 1;

		public static function instance():RenderConfig {
			if (RenderConfig._instance == null) {
				RenderConfig._instance = new RenderConfig();
			}
			return RenderConfig._instance;
		}

		public function RenderConfig() {
		}

		public function setGlobals():void {

			//_root.tools._visible = false
			//_root.matte._visible = true;

			Settings.instance().setDrawBorders(true);
			Settings.instance().setDrawExtras(true);
			Settings.instance().setEditMode(false);
			Settings.instance().setEventMonitoring(true);
			Settings.instance().setErrorCheck(true);

		/*
		_root.matte.swapDepths(30000);
		_root.tools.swapDepths(30001);
		_root.uiButton.swapDepths(30002);
		*/
		}
	}

}